package org.csu.forum.service;

import org.csu.forum.common.CommonResponse;
import org.csu.forum.domain.PO.Account;
import org.csu.forum.domain.PO.Collectpost;
import org.csu.forum.domain.PO.ReplyContent;
import org.csu.forum.domain.PO.Titlepost;
import org.csu.forum.domain.VO.*;
import org.springframework.stereotype.Service;

import java.util.List;

public interface AccountService {

    //通过用户ID获取账户信息
    public Account getAccount(int userid);

    //判断用户ID是否存在
    public Boolean isUseridExist(int userid);

    //通过userid，password获取token
    public String getToken(int userid, String password);

    //添加新用户
    public void insertAccount(AccountregisterVO accountregisterVO);

    //更改用户信息
    public void updateAccount(Account account);

    //通过主题帖ID获取主题帖内容
    public List<TitlepostContentVO> getTitlepostContentVOList(int userid);

    //新建主题贴
    public void insertTitlepost(TitlepostEditVO titlepostEditVO);

    //编辑主题帖信息
    public Titlepost updateTitlepost(Titlepost titlepost);

    //删除主题帖信息
    public TitlepostContentVO deleteTitlepost(int userid,int postid);

    //通过用户ID来获取某用户的回复内容列表
    public  List<ReplyCheckVO> getReplyCheckVOList(int userid);

    //编辑回复信息
    public ReplyCheckVO updateReplyCheckVO(ReplyContent replyContent);

    //删除回复
    public ReplyCheckVO deleteReplyCheckVO(int userid,int replyid);

    //通过用户ID获取用户收藏的帖子及其内容列表
    public List<CollectpostContentVO> getCollectpostContentVOList(int userid);

    //删除收藏的帖子
    public CollectpostContentVO deleteCollectpost(int userid,int collectpostid);

    //通过用户ID获取用户的帖子列表
    public List<AllPostContentVO> getAllPostContentVOList(int userid);

    //删除帖子
    public PostEditVO deletePostContent(int postid);

    //编辑帖子
    public PostEditVO updatePostContent(PostEditVO postEditVO);

    //通过用户ID获取所有权限
    public  List<AllPriorVO> getAllPriorVOList(int userid);

}
